{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "from scipy.optimize import curve_fit\n",
    "from scipy.special import wofz"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def voigt_profile(x, a, b, sigma, gamma):\n",
    "    return a * np.real(wofz(((x - b) + 1j * gamma) / (sigma * np.sqrt(2)))) / (sigma * np.sqrt(2 * np.pi))\n",
    "\n",
    "def multi_voigt(x, *params):\n",
    "    num_peaks = (len(params) - 4) // 2\n",
    "    sigma, gamma = params[-4], params[-3]\n",
    "    baseline = params[-2] * x + params[-1]\n",
    "    y = np.zeros_like(x)\n",
    "    for i in range(num_peaks):\n",
    "        a, b = params[2 * i: 2 * i + 2]\n",
    "        y += voigt_profile(x, a, b, sigma, gamma)\n",
    "    return y + baseline\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "ename": "NameError",
     "evalue": "name 'fields' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[21], line 46\u001b[0m\n\u001b[0;32m     43\u001b[0m plt\u001b[38;5;241m.\u001b[39mshow()\n\u001b[0;32m     45\u001b[0m plt\u001b[38;5;241m.\u001b[39mfigure()\n\u001b[1;32m---> 46\u001b[0m plt\u001b[38;5;241m.\u001b[39merrorbar(fields, sigma_vals, yerr\u001b[38;5;241m=\u001b[39msigma_errs, fmt\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mo-\u001b[39m\u001b[38;5;124m'\u001b[39m, label\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSigma\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m     47\u001b[0m plt\u001b[38;5;241m.\u001b[39merrorbar(fields, gamma_vals, yerr\u001b[38;5;241m=\u001b[39mgamma_errs, fmt\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124ms-\u001b[39m\u001b[38;5;124m'\u001b[39m, label\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mGamma\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m     48\u001b[0m plt\u001b[38;5;241m.\u001b[39merrorbar(fields, fwhm_vals, yerr\u001b[38;5;241m=\u001b[39mfwhm_errs, fmt\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124md-\u001b[39m\u001b[38;5;124m'\u001b[39m, label\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mVoigt FWHM\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
      "\u001b[1;31mNameError\u001b[0m: name 'fields' is not defined"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sigma_vals, gamma_vals, fwhm_vals = [], [], []\n",
    "sigma_errs, gamma_errs, fwhm_errs = [], [], []\n",
    "peak_positions_vals, peak_positions_errs = [], []\n",
    "data = np.loadtxt('RR.txt')\n",
    "Es = data[720:800, 0]\n",
    "files = ['RR', 'LL']\n",
    "bs = [293, 295, 297, 299, 300.9, 303]\n",
    "Is=np.zeros_like(Es)\n",
    "for filenum in range(2):\n",
    "    b4s = []\n",
    "    filename = f'{files[filenum]}.txt'\n",
    "    data = np.loadtxt(filename)\n",
    "    Es = data[720:800, 0] + 0.3027\n",
    "    Is = Is+data[720:800, 1]*1.133/2\n",
    "\n",
    "initial_params = sum([[10, b] for b in bs], []) + [0.148, 0.2, 0, 0]\n",
    "bounds_lower = sum([[0, b - 1] for b in bs], []) + [0.147, 0, -np.inf, -10]\n",
    "bounds_upper = sum([[np.inf, b + 1] for b in bs], []) + [0.149, np.inf, np.inf, 100]\n",
    "\n",
    "popt, pcov = curve_fit(multi_voigt, Es, Is, p0=initial_params, bounds=(bounds_lower, bounds_upper))\n",
    "perr = np.sqrt(np.diag(pcov))\n",
    "\n",
    "sigma_vals.append(popt[-4])\n",
    "gamma_vals.append(popt[-3])\n",
    "fwhm = 2 * (0.5346 * popt[-3] + np.sqrt(0.2166 * popt[-3]**2 + popt[-4]**2))\n",
    "fwhm_vals.append(fwhm)\n",
    "peak_positions_vals.append(popt[1::2])\n",
    "\n",
    "sigma_errs.append(perr[-4])\n",
    "gamma_errs.append(perr[-3])\n",
    "fwhm_errs.append(2 * np.sqrt((0.5346 * perr[-3])**2 + (0.5 * popt[-4] * perr[-4] / np.sqrt(0.2166 * popt[-3]**2 + popt[-4]**2))**2))\n",
    "peak_positions_errs.append(perr[1::2])\n",
    "\n",
    "b4s.append(popt[9])\n",
    "\n",
    "\n",
    "plt.figure()\n",
    "plt.plot(Es, Is - popt[-2] * Es - popt[-1], '.', color=(0, 0, 0))\n",
    "plt.plot(np.linspace(285, 310, 1000), multi_voigt(np.linspace(285, 310, 1000), *popt)- popt[-2] * np.linspace(285, 310, 1000) - popt[-1], '-', color=(0, 0, 0))\n",
    "plt.xlim([285, 310])\n",
    "plt.ylim([-20, 140])\n",
    "plt.savefig('LL+RR.eps')\n",
    "plt.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0.900848410784792]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fwhm_vals"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
